home *** CD-ROM | disk | FTP | other *** search
/ US Department of Defense…ndamentals 1.0 2004 April / US Department of Defense: Firewall & Router Fundamentals 1.0 2004 April.iso / sco / includes / g_functions.js < prev    next >
Encoding:
Text File  |  2003-06-25  |  13.8 KB  |  575 lines

  1. function get_cookie_value(myMasterKey,myDefault)
  2. {
  3.     myCookie = document.cookie;
  4.     while (myCookie.indexOf("=",0) > -1)
  5.     {
  6.         i = myCookie.indexOf(";",0);
  7.         if (i == -1)
  8.             i = myCookie.length;
  9.         myPair = myCookie.substring(0,i);
  10.         j = myPair.indexOf("=",0);
  11.         myKey = myPair.substring(0,j);
  12.         if (myKey.substring(0,1) == " ")
  13.             myKey = myKey.substring(1,(myKey.length));
  14.         myValue = myPair.substring(j+1,(myPair.length));
  15.         myCookie = myCookie.substring(i+1,(myCookie.length));
  16.         if (myKey == myMasterKey)
  17.         {
  18.             return myValue;
  19.         }
  20.     }
  21.     return myDefault;
  22. }
  23.  
  24. function get_sub_cookie_value(myMasterKey,myCookie,myDefault)
  25. {
  26.     while (myCookie.indexOf("|",0) > -1)
  27.     {
  28.         i = myCookie.indexOf("&",0);
  29.         if (i == -1)
  30.             i = myCookie.length;
  31.         myPair = myCookie.substring(0,i);
  32.         j = myPair.indexOf("|",0);
  33.         myKey = myPair.substring(0,j);
  34.         if (myKey.substring(0,1) == " ")
  35.             myKey = myKey.substring(1,(myKey.length));
  36.         myValue = myPair.substring(j+1,(myPair.length));
  37.         myCookie = myCookie.substring(i+1,(myCookie.length));
  38.         if (myKey == myMasterKey)
  39.         {
  40.             return myValue;
  41.         }
  42.     }
  43.     return myDefault;
  44. }
  45.  
  46. function get_tracking_value(data,key,value_delimiter,pair_delimiter)
  47. {
  48.   var return_value = null;
  49.   var key_pos = data.indexOf(key,0);
  50.   var key_length = key.length + value_delimiter.length;
  51.   if (key_pos > -1) {
  52.     data = data.substring(key_pos+key_length,data.length);
  53.     var end_pos = data.indexOf(pair_delimiter,0);
  54.     if (end_pos == -1)
  55.       end_pos = data.length
  56.     return_value = data.substring(0,end_pos);
  57.   }
  58.   return return_value;
  59. }
  60.  
  61. //update get cookie value function, combines both get cookie value and get sub cookie value in one function.
  62. function get_pair_list_value(key,pair_list,default_value,equal_delimiter,pair_delimiter)
  63. {
  64.   var tmp_pair = "";
  65.   var tmp_value = "";
  66.   var return_value = default_value;
  67.   var i = -1;
  68.   var j = -1;
  69.     while (pair_list.indexOf(equal_delimiter,0) > -1)
  70.     {
  71.         i = pair_list.indexOf(pair_delimiter,0);
  72.         if (i == -1)
  73.             i = pair_list.length;
  74.         tmp_pair = pair_list.substring(0,i);
  75.         j = tmp_pair.indexOf(equal_delimiter,0);
  76.         tmp_key = tmp_pair.substring(0,j);
  77.         if (tmp_key.substring(0,1) == " ")
  78.             tmp_key = tmp_key.substring(1,(tmp_key.length));
  79.         tmp_value = tmp_pair.substring(j + equal_delimiter.length,(tmp_pair.length));
  80.         pair_list = pair_list.substring(i + pair_delimiter.length,(pair_list.length));
  81.         if (tmp_key == key)
  82.             return_value = tmp_value;
  83.     }   
  84.     return return_value;
  85. }
  86.     
  87. function set_cookie_value(myKey,myValue)
  88. {
  89.     document.cookie = myKey + "=" + myValue + ";path=" + COOKIE_PATH + ";";
  90. }
  91.  
  92. function get_url_value(myKey)
  93. {
  94.     var myURLPos = -1;
  95.     var myStr = null;
  96.     var myTemp = window.document.location;
  97.   if (myTemp != "")  {
  98.       var myURL = myTemp.toString();
  99.       var myOffset = myKey.length + 1;
  100.   
  101.       if (myURL.indexOf('?') > -1)  {
  102.           //get page
  103.           myQS = myURL.substring(myURL.indexOf('?') + 1,myURL.length);
  104.           myURLPos = myQS.indexOf(myKey);
  105.           if (myURLPos > -1)  {
  106.               myStr = myQS.substring(myURLPos+myOffset,myQS.length);
  107.               if (myStr.indexOf('&') > 0)
  108.                   myStr=myStr.substring(0,myStr.indexOf('&'));
  109.           }    
  110.       }
  111.   }
  112.     return myStr;
  113. }
  114.  
  115. function get_qs_value(qs_key,qs,default_value)
  116. {
  117.   qs_value = default_value;
  118.   if (qs != "")  {
  119.     var offset = qs_key.length + 1;
  120.       qs = qs.toString();
  121.          var qs_pos = qs.indexOf(qs_key);
  122.          if (qs_pos > -1)  {
  123.         qs_value = qs.substring(qs_pos+offset,qs.length);
  124.               if (qs_value.indexOf('&') > 0)
  125.                   qs_value=qs_value.substring(0,qs_value.indexOf('&'));
  126.           }    
  127.   }
  128.     return qs_value;
  129. }
  130.  
  131. function set_qs_value(qs_key,qs_value,qs)
  132. {
  133.   var return_qs = "";
  134.   if (qs != "")  {
  135.     var offset = qs_key.length + 1;
  136.       qs = qs.toString();
  137.          var qs_key_pos = qs.indexOf(qs_key);
  138.          if (qs_key_pos > -1)  {
  139.       qs_value_pos = qs_key_pos+offset;
  140.       var qs_left = qs.substring(0,qs_value_pos);
  141.       var qs_right = "";
  142.       qs_old_value = qs.substring(qs_value_pos,qs.length);
  143.       if (qs_old_value.indexOf('&') > 0)
  144.         qs_right = qs_old_value.substring(qs_old_value.indexOf('&'),qs_old_value.length);
  145.       return_qs = qs_left + qs_value + qs_right;
  146.     }    
  147.   }
  148.   else  {
  149.     return_qs = qs_key + "=" + qs_value;
  150.   }
  151.     return return_qs;
  152. }
  153.  
  154. function get_list_value(key,list,pair_delimiter,value_delimiter,default_value)
  155. {
  156.   var value = default_value;
  157.   if (list != "")  {
  158.     var offset = key.length + value_delimiter.length;
  159.       list = list.toString();
  160.          var list_pos = list.indexOf(key);
  161.          if (list_pos > -1)  {
  162.         value = list.substring(list_pos+offset,list.length);
  163.             if (value.indexOf(pair_delimiter) > -1)
  164.                 value = value.substring(0,value.indexOf(pair_delimiter));
  165.          }    
  166.   }
  167.     return value;
  168. }
  169.  
  170. function set_list_value(key,value,list,pair_delimiter,value_delimiter)
  171. {
  172.   var return_list = "";
  173.   if (list != "")  {
  174.     var offset = key.length + value_delimiter.length;
  175.       list = list.toString();
  176.          var key_pos = list.indexOf(key);
  177.          if (key_pos > -1)  {
  178.       value_pos = key_pos+offset;
  179.       var left = list.substring(0,value_pos);
  180.       var list = list.substring(value_pos,list.length);
  181.       var right = list.substring(list.indexOf(pair_delimiter),list.length);
  182.       return_list = left + value + right;
  183.     }
  184.     else  {
  185.       return_list = list + key + value_delimiter + value + pair_delimiter;
  186.     }
  187.   }
  188.   else  {
  189.     return_list = key + value_delimiter + value + pair_delimiter;
  190.   }
  191.     return return_list;
  192. }
  193.  
  194. function get_item_count(item_list,delimiter)
  195. {
  196.   var num_items = -1;
  197.   var tmp_return = "nothing";
  198.   while (tmp_return != "")  {
  199.     tmp_return = get_item_in_list(item_list,num_items+2,delimiter);
  200.     num_items += 1;
  201.   }
  202.   return num_items;
  203. }
  204.  
  205. //1 based, not 0 based
  206. function get_item_in_list(item_list,location,delimiter)
  207. {
  208.   var item_value = "";
  209.   var tmp_pos = -1;
  210.   var tmp_loc = parseInt(location);
  211.   for (x = 1; x <= tmp_loc; x++)
  212.   {
  213.       tmp_pos = item_list.indexOf(delimiter);
  214.       if (tmp_pos > -1) {
  215.           item_value = item_list.substring(0,tmp_pos);
  216.           item_list = item_list.substring(tmp_pos+1,item_list.length);
  217.       }
  218.       else  {
  219.       if (x == 1)
  220.             item_value = item_list;
  221.       else
  222.         item_value = "";
  223.     }
  224.   }
  225.   return item_value;
  226. }
  227.  
  228. //1 based, not 0 based
  229. function set_item_in_list(item_list,item_value,location,delimiter)
  230. {
  231.   var tmp_pos = -1;
  232.   var master_pos = 0;
  233.   var tmp_list = item_list;
  234.   var tmp_loc = parseInt(location);
  235.   for (x = 1; x <= tmp_loc; x++)
  236.   {
  237.       tmp_pos = tmp_list.indexOf(delimiter);    
  238.       if (tmp_pos > -1) {
  239.           tmp_list = tmp_list.substring(tmp_pos+1,tmp_list.length);
  240.       if (x == tmp_loc)  {
  241.         item_list = item_list.substring(0,master_pos) + item_value + delimiter + tmp_list;
  242.       }
  243.       master_pos += tmp_pos + 1;
  244.       }
  245.   }
  246.   return item_list;
  247. }
  248.   
  249. function open_popup(page_url,left,top,width,height,scroll,resize,menu)
  250. {
  251.     if ((page_url == null) || (page_url == ""))
  252.         alert("Popup URL can not be empty.");
  253.     else
  254.     {
  255.         if ((left == null) || (left == ""))
  256.             left = "0";
  257.         if ((top == null) || (top == ""))
  258.             top = "0";
  259.         if ((width == null) || (width == ""))
  260.             width = "400";
  261.         if ((height == null) || (height == ""))
  262.             height = "300";
  263.         if ((scroll == null) || (scroll == ""))
  264.             scroll = "no";
  265.         if ((resize == null) || (resize == ""))
  266.             resize = "yes";
  267.         if ((menu == null) || (menu == ""))
  268.             menu = "no";
  269.     }
  270.         
  271.     POPUP_WIN=open(page_url,"PopUpWin","left=" + left + ",top=" + top + ",scrollbars=" + scroll + ",resizable=" + resize + ",width=" + width + ",height=" + height + ",toolbar=no,directories=no,menubar=" + menu + ",status=no,");
  272.   POPUP_WIN.focus();
  273. }
  274.  
  275. function parse_string(myString,myDelimiter,myItemNum)
  276. {
  277.     var myPos = -1;
  278.     var myItem = "";
  279.     for (i = 1; i <= myItemNum; i++)  {
  280.         myItem = myString;
  281.         myPos = myString.indexOf(myDelimiter);
  282.         if (myPos > -1) {
  283.             myItem = myString.substring(0,myPos);
  284.             myString = myString.substring(myPos+1,myString.length);
  285.         }
  286.     }    
  287.     return myItem;
  288. }
  289.  
  290. function convert_num_to_str(myNum,myPlaces)
  291. {
  292.     var myNumStr = myNum.toString();
  293.     if (myPlaces == null)
  294.         myPlaces = 3;
  295.     var myZeros = ""
  296.     
  297.     for (y = 1; y < myPlaces; y++)  {
  298.         for (q = 1; q <= (myPlaces-y); q++) {
  299.             myZeros += "0";
  300.         }
  301.         if (myNumStr.length == y)
  302.             myNumStr = myZeros + myNumStr;
  303.         myZeros = "";
  304.     }
  305.     
  306.     return myNumStr;
  307. }
  308.  
  309. function convert_boolean_to_num(myBool)
  310. {
  311.     if (myBool)
  312.         return 1;
  313.     else
  314.         return 0;
  315. }
  316.  
  317. function convert_num_to_char(tmp_num)
  318. {
  319.   var tmp_str = "";
  320.   for (i=0;i<tmp_num.length;i++)  {
  321.     tmp_str += String.fromCharCode(tmp_num.charCodeAt(i)+20);
  322.   }
  323.   return tmp_str;
  324. }
  325.  
  326. function generate_key()
  327. {
  328.   var i 
  329.   var pszK = "";
  330.   for (i = 0; i <= 80; i++) {
  331.         pszK = pszK + String.fromCharCode(48 + i);
  332.         pszK = pszK + String.fromCharCode(122 - i);
  333.         i = i + 5;
  334.     }
  335.   return pszK
  336. }
  337.  
  338. function encrypt(sStrIn,sKey,cHi,cLow)
  339. {    
  340.     var iLen 
  341.       var i
  342.     var iChar 
  343.     var iLastChar 
  344.     var iLocation 
  345.     var sEncryptedStr = "";
  346.       var cDelta = cHi - cLow + 1;
  347.     
  348.     iLen = sStrIn.length;
  349.     //sKey = GenerateKey();
  350.     //sKey = myUsername + "KARTAUSER" + myProgID;
  351.     iLastChar = sKey.charCodeAt(0);
  352.     iLocation = 0;
  353.     
  354.     for (i = 0; i < iLen; i++)
  355.     {
  356.         iChar = sStrIn.charCodeAt(i);
  357.         iChar = iLastChar + iChar + sKey.charCodeAt((i % 40) + 1);
  358.         while (iChar > cHi)
  359.         {
  360.             iChar = iChar - cDelta;
  361.         }
  362.  
  363.         
  364.         iLastChar = sStrIn.charCodeAt(iLocation);
  365.         iLocation = iLocation + 1;
  366.         sEncryptedStr = sEncryptedStr + String.fromCharCode(iChar);
  367.     }
  368.  
  369.     return convertStrToDecStr(sEncryptedStr);
  370. }
  371.  
  372.  
  373. function decrypt(sInputStr,sKey,cHi,cLow)
  374. {
  375.     var sEncryptedStr
  376.     var iLen 
  377.       var i 
  378.     var iChar
  379.     var iLastChar
  380.     var sStrIn 
  381.     var sStrOut
  382.     var iLocation 
  383.     var sStr = "";
  384.     var cDelta = cHi - cLow + 1;
  385.       sEncryptedStr = convertDecStrToStr(sInputStr);
  386.     //sKey = GenerateKey();
  387.     //sKey = myUsername + "KARTAUSER" + myProgID;
  388.     iLen = sEncryptedStr.length;
  389.     sStrIn = sEncryptedStr;
  390.     iLastChar = sKey.charCodeAt(0);
  391.     iLocation = 0;
  392.     
  393.     for (i = 0; i < iLen; i++)
  394.     {
  395.         iChar = sStrIn.charCodeAt(i);
  396.         iChar = iChar - iLastChar - sKey.charCodeAt((i % 40) + 1);
  397.         while (iChar < cLow)
  398.         {
  399.             iChar = iChar + cDelta;
  400.         }
  401.         iLastChar = iChar;
  402.         iLocation = iLocation + 1;
  403.         sStr = sStr + String.fromCharCode(iChar);
  404.        }
  405.     return sStr;
  406. }
  407.  
  408. function get_obj_style(obj_id)
  409. {
  410.   if (W3CDOM) {
  411.     return eval("document.getElementById('" + obj_id + "').style");
  412.     }
  413.     else  {
  414.         if (IE) {
  415.       return eval(obj_id + ".style");
  416.         }
  417.         else  {
  418.       return eval("document." + obj_id);
  419.         }
  420.  }
  421. }
  422.  
  423. function mouse_ov(obj_name)
  424. {
  425.     var img_obj = eval("document." + obj_name);
  426.     ORIG_IMG.name = obj_name;
  427.     ORIG_IMG.src = img_obj.src;
  428.   var ov_obj = eval(obj_name + "_OV");
  429.   
  430.     if (LOAD_DONE) {
  431.         if (((obj_name == "NEXT") && (DISABLE_NEXT)) || ((obj_name == "PREVIOUS") && (DISABLE_PREV))) {
  432.             //nothing
  433.         }
  434.         else  {
  435.       if (check_preq(obj_name))
  436.         img_obj.src = ov_obj.src;
  437.     }
  438.     }
  439. }
  440.  
  441. function mouse(obj_name)
  442. {
  443.     if (LOAD_DONE) {
  444.         img_obj = eval("document." + obj_name);
  445.         img_obj.src = ORIG_IMG.src;
  446.     }
  447. }
  448.  
  449. function open_audio_win(page_num)
  450. {
  451.     if (SHOW_AUDIO) {
  452.     audio_file = "audio/aud_page" + convert_num_to_str(page_num) + ".htm";
  453.     //if (AUDIO_WIN == null)
  454.           AUDIO_WIN = window.open(audio_file,"AUDIOWIN","toolbar=no,menubar=no,location=no,height=" + AUDIO_WIN_HEIGHT + ",width=" + AUDIO_WIN_WIDTH + ",resizable=" + AUDIO_WIN_RESIZE + ",scrollbars=" + AUDIO_WIN_SCROLL + ",top=" + AUDIO_WIN_TOP + ",left=" + AUDIO_WIN_LEFT);
  455.     //else
  456.      // AUDIO_WIN.document.location.href = audio_file;
  457.         AUDIO_WIN.focus();
  458.     }
  459. }
  460.  
  461. function get_qs()
  462. {
  463.   return "showaudio=" + convert_boolean_to_num(SHOW_AUDIO);
  464. }
  465.  
  466. function close_child_windows()
  467. {
  468.     if (AUDIO_WIN != null)  {
  469.         AUDIO_WIN.close();
  470.     AUDIO_WIN = null;
  471.   }
  472.     if (GLOSS_WIN != null)  {
  473.       GLOSS_WIN.close();
  474.     GLOSS_WIN = null;
  475.   }
  476.   if (RV_WIN != null) {
  477.     RV_WIN.close();
  478.     RV_WIN = null;
  479.   }
  480.   if (PREFS_WIN != null)  {
  481.     PREFS_WIN.close();
  482.     PREFS_WIN = null;
  483.   }
  484.   if (REFS_WIN != null)  {
  485.     REFS_WIN.close();
  486.     REFS_WIN = null;
  487.   }
  488.   if (HELP_WIN != null)  {
  489.     HELP_WIN.close();
  490.     HELP_WIN = null;
  491.   }
  492.   if (POPUP_WIN != null)  {
  493.     POPUP_WIN.close();
  494.     POPUP_WIN = null;
  495.   }
  496. }
  497.  
  498. function check_preq(obj_name)
  499. {
  500.   if (MENU_PREQ)  {
  501.     var img_obj = eval("document." + obj_name);
  502.     if (img_obj.src.indexOf("_de.") > -1)
  503.       return false;
  504.   }
  505.   return true;
  506. }
  507.  
  508. function convertStrToDecStr(myStr)
  509. {
  510.   var myDecStr = "";
  511.   for (y = 0; y < myStr.length; y++)
  512.     {
  513.     myDecStr = myDecStr + myStr.charCodeAt(y) + "/";
  514.     }
  515.   return myDecStr;
  516. }
  517.  
  518. function convertDecStrToStr(myDecStr)
  519. {
  520.   var myStr = "";
  521.   while (myDecStr.indexOf("/",0) > -1)
  522.   {
  523.     myStr = myStr + String.fromCharCode(myDecStr.substring(0,myDecStr.indexOf("/",0)));
  524.     myDecStr = myDecStr.substr(myDecStr.indexOf("/")+1);
  525.   }
  526.   return myStr;
  527. }
  528.  
  529. function convert_to_hex(str)
  530. {
  531.   var return_str = "";
  532.   for (y = 0; y < str.length; y++)
  533.     {
  534.     return_str += dec2hex(str.charCodeAt(y));
  535.     }
  536.   return return_str;
  537. }
  538.  
  539. function convert_from_hex(str)
  540. {
  541.   var return_str = ""
  542.   while (str.length > 0)
  543.   {
  544.     return_str += String.fromCharCode(hex2dec(str.substr(0,2)));
  545.     if (str.length == 2)
  546.       str = "";
  547.     else
  548.       str = str.substring(2,str.length);
  549.   }
  550.   return return_str;
  551. }
  552. function hex2dec(strVal){
  553.  
  554. // where strVal is a string
  555. // parseInt('ff',16) == 255
  556. return parseInt(strVal,16);
  557.  
  558. };
  559.  
  560. function dec2hex(n){
  561. var hex = "0123456789ABCDEF";
  562. var mask = 0xf;
  563. var retstr = "";
  564.  
  565.     while(n != 0)
  566.     {
  567.         retstr = hex.charAt(n&mask) + retstr;
  568.         n>>>=4;
  569.     }
  570.  
  571.  return retstr.length == 0 ? "0" : retstr;
  572. }
  573.  
  574.  
  575.